#

| Chapter 11 The Lessons of History |

## 11.2 History in a Nutshell

The C shell and bash can save copies of the previous command lines you type. Later, you can ask for a copy of some or all of a previous command line. That can save time and retyping.

This feature is called history substitution, and it's done when you type a string that starts with an exclamation point (`!``command`). You can think of it like variable substitution (`$``varname`) (6.8) or command substitution (````command````) (9.16): the shell replaces what you type (like `!$`) with something else (in this case, part or all of a previous command line).

Article 11.1 is an introduction to shell history. These articles show lots of ways to use history substitution:

- We start with favorite uses from several contributors - articles 11.3, 11.4, 11.5, 11.6.

- Article 11.7 starts with a quick introduction, then covers the full range of history substitutions with a series of examples that show the different kinds of things you can do with history.

  (Back in article 9.6 are examples of csh and bash operators like `:r`. Many of these can be used to edit history substitutions.)

- See an easy way to repeat a set of csh or bash commands in article 11.8.

- Each shell saves its own history. To pass a shell's history to another shell, see articles 11.11 and 11.12.

- You don't have to use an exclamation point (`!`) for history. Article 11.15 shows how to use some other character.

- The Korn shell does history in a different way. Article 11.13 introduces part of that: command-line editing in ksh and bash.

One last note: putting the history number in your prompt (7.2) makes it easy to re-use commands that haven't scrolled off your screen.

- JP

11.1 The Lessons of History |  | 11.3 My Favorite Is !$